$(function() {
	//	1.全选   全不选模块 （就是把当前全选按钮的状态赋值给三个小选择按钮）
	//用选择事件change
	$(".checkall").change(function() {
		//$(".g_check,.checkall") 运用复合选择器  把两个全选都选上    因为checked 是固有属性 所以用prop事件
		$(".g_check,.checkall").prop("checked",$(this).prop("checked"));
		
		//给选中的商品添加背景颜色
		if($(this).prop("checked")) {
			//给商品添加背景颜色 类 item_bg
			$(".item_list").addClass("item_bg");
		}else {
			//删除背景颜色类
			$(".item_list").removeClass("item_bg");
		}
	});
	//2.如果小复选框被选中的个数是等于3，就把全选按钮选上，否则不选全选按钮
	$(".g_check").change(function() {
		/*
	 if(被选中的小复选框个数==3) {
	 	选中全选按钮
	 }
	 else {
	 	不选中全选按钮
	 }
	 */
		//$(".g_check").length 所有小复选框的个数
		if($(".g_check:checked").length==$(".g_check").length) {
			$(".checkall").prop("checked",true);
		}else {
			$(".checkall").prop("checked",false);
		}
		
		//给选中的商品添加背景颜色
		if($(this).prop("checked")) {
			//给当前选中商品添加背景颜色 类 item_bg
			$(this).parents(".item_list").addClass("item_bg");
		}else {
			//删除背景颜色类
			$(this).parents(".item_list").removeClass("item_bg");
		}
	});
	
	//3.增减商品数量模块,先声明一个变量,当点击加号按钮时,就让定义的变量值++,然后再把这个值赋给文本框
	$(".add").click(function() {
		//得到当前加号按钮兄弟的值
		var n = $(this).siblings(".itin").val();
		n++;
		$(this).siblings(".itin").val(n);
		
		//4.计算小计模块  根据文本框的值  乘以 当前的价格p   就是商品的  小计   （n*p）
		var p = $(this).parent().siblings(".g_price").html();  //注意关系   当前按钮的父亲的兄弟 是价格
		p = p.substr(1);   // ￥12.60  字符串截取  去掉数字前面的符号
		var price = (p*n).toFixed(2);  //保留小数位数  用 toFixed()  保留几位 括号就写几
		$(this).parent().siblings(".g_sum").html("¥"+price);  //小计模块
		
		//调用getSum方法
		getSum();
	});
	
	//减号按钮 同理
	$(".cut").click(function() {
		//得到当前加号按钮兄弟的值
		var n = $(this).siblings(".itin").val();
		//加一个判断，如果文本框的值<1了就不减了
		if(n==1) {
			return false;
		}
		n--;
		$(this).siblings(".itin").val(n);
		
		//4.代码与加的一样
		var p = $(this).parent().siblings(".g_price").html();  //注意关系   当前按钮的父亲的兄弟 是价格
		p = p.substr(1);   // ￥12.60  字符串截取  去掉数字前面的符号
		var price = (p*n).toFixed(2);
		$(this).parent().siblings(".g_sum").html("¥"+price);  //小计模块
		
		//调用getSum方法
		getSum();
	});
	
	//5.用户修改文本框的值  计算小计
	$(".itin").change(function() {
		var n=$(this).val(); //获取当前用户修改的值
		var p = $(this).parent().siblings(".g_price").html();  //当前商品的单价
		p = p.substr(1); 
		var price = (p*n).toFixed(2);
		$(this).parent().siblings(".g_sum").html("¥"+price);  //小计模块
		
		//调用getSum方法
		getSum();
	});
	//6.计算总计和总额模块
	getSum(); //打开页面就计算默认选中的
	function getSum() {
		var count=0;//计算总件数
		var money=0; //计算总金额
		$(".itin").each(function(i,ele) {
			//parseInt($(ele).val()) 将取到的元素的内容转换成数值型
			count += parseInt($(ele).val());
		});
		$(".amount-sum em").text(count);
		$(".g_sum").each(function(i,ele) {
			money += parseFloat($(ele).text().substr(1));
		});
		$(".price-sum em").text("￥"+money.toFixed(2));
	}
	
	//7.删除商品模块
		//(1)商品后边的删除按钮
		$(".g_action a").click(function() {
			$(this).parents(".item_list").remove();
			//每次删除商品都要重新计算总计和总额
			getSum();
		});
		//(2)删除选中的商品
		$(".remove-batch").click(function() {
			//删除的是小的复选框选中的商品
			$(".g_check:checked").parents(".item_list").remove();
			//每次删除商品都要重新计算总计和总额
			getSum();
		});
		//(3)清空购物车  删除所有商品
		$(".clear-all").click(function() {
			$(".item_list").remove();
			//每次删除商品都要重新计算总计和总额
			getSum();
		});
});